Yes, but what about games that were made in Unity before hand (like Sonic Utopia.) How would you port something like that to the Wii if possible?I think old Unity versions supports exporting to 3DS/WIIU/WII and if I'm not mistaken, Wii uses C and you can use C with Unity. Back in 2015 was learning Unity because of that.
But to be honest, libraries for DevKit-Pro is quite complete, so, in my opinion, DevKit-Pro with any C IDE would be easier to use than Unity.
You'd need the source code and literally translate everything to something the Wii can understand?Yes, but what about games that were made in Unity before hand (like Sonic Utopia.) How would you port something like that to the Wii if possible?
Oh, okay. I'll check to see what files the Wii supports. Thanks!You'd need the source code and literally translate everything to something the Wii can understand?
![]()
Mind you, I never said I had experience with it, just knew it was possible back then.
Is it really just drag and drop and let the pc do everything for you or are you talking from the perspective of a developer like put the files inside and write the code around them and some stuff?Btw, today is the day. Yes, you can make small games for Wii without the SDK nor the Addon for Unity! The wii has the same architecture as the old macs (power pc). You can use Unity 2.6 to compile for macos ppc, take the game data folder and place it im the data folder of a current existing game like Jumpstart Pet Rescue and boot it on your console/dolphin!
View attachment 530119
Is it really just drag and drop and let the pc do everything for you or are you talking from the perspective of a developer like put the files inside and write the code around them and some stuff?
You were writing it's just possible for small games. Have you found the limitations where it doesn't work anymore? Like how big can the game be... I guess I will have to play around with that to test things out. Thanks for the informationI'm still exploring the limitations as developer. However for the main thing, yes, it's drag and drop! The important part is compiling for Mac PPC from Unity 2.6.0 (the official version + personal license is okay, no need to crack anything). You need to take all the stuff your game uses from the macos build:
- Assembly-Csharp.dll
- Assembly-CSharp-FirstPass.dll (if required)
- mainData
- SharedAssets0.assets (1, 2...all the ones you use)
- UnityEngine.dll
- unity default resources
- Boo.Lang.dll
- mscorlib.dll
- UnityDomainLoad.exe
And place them in DecryptedRomPath/DATA/files/unity/Data (you can delete all the stuff that was there before).
You use WiimmTools to compile the ISO back, and launch the game. Your game with your code will run!
Limitations I discovered:
- You can't use asset bundles (for now) as they are compiled to .wii and .ures by the SDK. We could make something to manually create them but otherwise, you won't be able to load them.
- Normals seem completely off. It might be something with how the wii renders stuff.
- When trying animations imported from an FBX, the model just disappears. No idea why (yet).
- You can only use Wii Inputs if you use the original game's wii_cs, which is included by default in the SDK. With DNSpy or ILSpy you can get it.
- Audio is not working for me. Probably bc the wii only recognizes DSP or PCM and Unity 2.5 only wav (that can be converted).
You were writing it's just possible for small games. Have you found the limitations where it doesn't work anymore? Like how big can the game be... I guess I will have to play around with that to test things out. Thanks for the information
Assets/test/NewBehaviourScript.cs(10,8): error CS0246: The type or namespace name `UnityEngine_Wii' could not be found. Are you missing a using directive or an assembly reference?
You were writing it's just possible for small games. Have you found the limitations where it doesn't work anymore? Like how big can the game be... I guess I will have to play around with that to test things out. Thanks for the information
Excellent achievement, well done! I previously searched for the official Unity Wii and found nothing.
I followed your tutorial, and it works on both the emulator and the Wii, but I have a two problem:
1. I can't get your UnityEngine_Wii.cs file to work to create Wii Remote inputs. I imported your script and tried to call a variable named after this script, and I got this message.
C#:Assets/test/NewBehaviourScript.cs(10,8): error CS0246: The type or namespace name `UnityEngine_Wii' could not be found. Are you missing a using directive or an assembly reference?
2. I can't get VisualStudio 2019 to work on this Unity 2.6.0. I entered it in preferences, but Unity opens UiCsiTE for me.
for visual Studio it's ok
I noticed that I don't have an update function for the input in this Wii code, can you give an example of how I should use these classes inside the script with the Unity API
WiiRemote controllerState = WiiInput.GetControllerState(0U);
if (controllerState.GetButtonDown(WiiButton.ButtonA))
{
Debug.Log("Player pressed (A) button");
}
WiiRemote controllerState = WiiInput.GetControllerState(0U);
if (controllerState.GetButtonDown(WiiButton.ButtonA)){
}
Assets/UnityEngine_Wii.cs(197,17): error CS1041: Identifier expected: `if' is a keyword
Assets/UnityEngine_Wii.cs(197,50): error CS1518: Expected `class', `delegate', `enum', `interface', or `struct'
Assets/UnityEngine_Wii.cs(202,29): error CS0116: A namespace can only contain types and namespace declarations
Assets/UnityEngine_Wii.cs(210,29): error CS0116: A namespace can only contain types and namespace declarations
Assets/UnityEngine_Wii.cs(216,29): error CS0116: A namespace can only contain types and namespace declarations
I tried this line inside the class
and I have these errors
public struct WiiClassic
C#:WiiRemote controllerState = WiiInput.GetControllerState(0U); if (controllerState.GetButtonDown(WiiButton.ButtonA)){ }
Code:Assets/UnityEngine_Wii.cs(197,17): error CS1041: Identifier expected: `if' is a keyword Assets/UnityEngine_Wii.cs(197,50): error CS1518: Expected `class', `delegate', `enum', `interface', or `struct' Assets/UnityEngine_Wii.cs(202,29): error CS0116: A namespace can only contain types and namespace declarations Assets/UnityEngine_Wii.cs(210,29): error CS0116: A namespace can only contain types and namespace declarations Assets/UnityEngine_Wii.cs(216,29): error CS0116: A namespace can only contain types and namespace declarations
using UnityEngine;
using System.Collections;
using System;
using System.Runtime.CompilerServices;
public class NewBehaviourScript : MonoBehaviour {
// Use this for initialization
WiiRemote controllerState = WiiInput.GetControllerState(0U);
public GameObject objet;
void Start () {
objet = GameObject.Find ("Cube");
}
// Update is called once per frame
void Update () {
if (controllerState.GetButtonDown(WiiButton.ButtonA)){
objet.SetActive (false);
}
}
}
Assets/test/NewBehaviourScript.cs(27,31): error CS0117: `UnityEngine.GameObject' does not contain a definition for `SetActive'
I dont want to sound rude, but that is not how it works… you are not using modern C# nor funcs in this version (which btw, it is limited to C# 2). Unity 2.x doesnt have SetActive (you can check this within the documentation in Help > Scripting reference). You need to do .active = false.ok a little better, what I don't understand Unity API is not working, I tried that and got this error
C#:using UnityEngine; using System.Collections; using System; using System.Runtime.CompilerServices; public class NewBehaviourScript : MonoBehaviour { // Use this for initialization WiiRemote controllerState = WiiInput.GetControllerState(0U); public GameObject objet; void Start () { objet = GameObject.Find ("Cube"); } // Update is called once per frame void Update () { if (controllerState.GetButtonDown(WiiButton.ButtonA)){ objet.SetActive (false); } } }
Code:Assets/test/NewBehaviourScript.cs(27,31): error CS0117: `UnityEngine.GameObject' does not contain a definition for `SetActive'
, I developed my games on unity2017.1.3p3 under visual studio, I never encountered these API problems just at the beginning, I wonder why that and it's the same engine and above all the same C# language


